package com.lmhy.fisco.contract;

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
import org.bcos.web3j.abi.FunctionEncoder;
import org.bcos.web3j.abi.TypeReference;
import org.bcos.web3j.abi.datatypes.Address;
import org.bcos.web3j.abi.datatypes.Function;
import org.bcos.web3j.abi.datatypes.Type;
import org.bcos.web3j.abi.datatypes.Utf8String;
import org.bcos.web3j.abi.datatypes.generated.Uint256;
import org.bcos.web3j.abi.datatypes.generated.Uint8;
import org.bcos.web3j.crypto.Credentials;
import org.bcos.web3j.protocol.Web3j;
import org.bcos.web3j.protocol.core.methods.response.TransactionReceipt;
import org.bcos.web3j.tx.Contract;
import org.bcos.web3j.tx.TransactionManager;

/**
 * Auto generated code.<br>
 * <strong>Do not modify!</strong><br>
 * Please use the <a href="https://docs.web3j.io/command_line.html">web3j command line tools</a>, or {@link org.bcos.web3j.codegen.SolidityFunctionWrapperGenerator} to update.
 *
 * <p>Generated with web3j version none.
 */
public final class SOrder extends Contract {
    private static final String BINARY = "606060405234156200001057600080fd5b604051620021b5380380620021b583398101604052808051820191906020018051906020019091908051906020019091908051906020019091905050604080519081016040528085815260200184815250600360008201518160000190805190602001906200008192919062000283565b506020820151816001015590505060a0604051908101604052808581526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff168152602001428152602001848152506008600080815260200190815260200160002060008201518160000190805190602001906200011492919062000283565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003015560808201518160040155905050600560008154809291906001019190505550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160146101000a81548160ff021916908360028111156200026d57fe5b0217905550426002819055505050505062000332565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002c657805160ff1916838001178555620002f7565b82800160010185558215620002f7579182015b82811115620002f6578251825591602001919060010190620002d9565b5b5090506200030691906200030a565b5090565b6200032f91905b808211156200032b57600081600090555060010162000311565b5090565b90565b611e7380620003426000396000f300606060405236156100ef576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806313151981146100f4578063229ba10d1461014957806335551aec146102ff578063370158ea14610370578063452b07f014610422578063498d4586146105d857806361dcd7ab146106bf57806371cf5c7a146106e857806377dfd085146107cf578063808ec6f6146107f8578063bb4d09f214610821578063c19d93fb14610892578063c47d2586146108c9578063d5ce33891461093a578063ee6979671461098f578063fb11743314610abc578063ff11364c14610ae5575b600080fd5b34156100ff57600080fd5b610107610b89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561015457600080fd5b61016a6004808035906020019091905050610baf565b6040518080602001806020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381038352898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102675780601f1061023c57610100808354040283529160200191610267565b820191906000526020600020905b81548152906001019060200180831161024a57829003601f168201915b50508381038252888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b50509850505050505050505060405180910390f35b341561030a57600080fd5b61035a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c29565b6040518082815260200191505060405180910390f35b341561037b57600080fd5b610383610ec9565b60405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156104125780601f106103e757610100808354040283529160200191610412565b820191906000526020600020905b8154815290600101906020018083116103f557829003601f168201915b5050935050505060405180910390f35b341561042d57600080fd5b6104436004808035906020019091905050610eda565b6040518080602001806020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381038352898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156105405780601f1061051557610100808354040283529160200191610540565b820191906000526020600020905b81548152906001019060200180831161052357829003601f168201915b50508381038252888181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156105c35780601f10610598576101008083540402835291602001916105c3565b820191906000526020600020905b8154815290600101906020018083116105a657829003601f168201915b50509850505050505050505060405180910390f35b34156105e357600080fd5b6106bd600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f54565b005b34156106ca57600080fd5b6106d26110b7565b6040518082815260200191505060405180910390f35b34156106f357600080fd5b6107cd600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110bd565b005b34156107da57600080fd5b6107e26113cc565b6040518082815260200191505060405180910390f35b341561080357600080fd5b61080b6113d2565b6040518082815260200191505060405180910390f35b341561082c57600080fd5b61087c600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506113d8565b6040518082815260200191505060405180910390f35b341561089d57600080fd5b6108a561171a565b604051808260028111156108b557fe5b60ff16815260200191505060405180910390f35b34156108d457600080fd5b610924600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061172d565b6040518082815260200191505060405180910390f35b341561094557600080fd5b61094d611a6f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561099a57600080fd5b6109b06004808035906020019091905050611a94565b60405180806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610aa95780601f10610a7e57610100808354040283529160200191610aa9565b820191906000526020600020905b815481529060010190602001808311610a8c57829003601f168201915b5050965050505050505060405180910390f35b3415610ac757600080fd5b610acf611b09565b6040518082815260200191505060405180910390f35b3415610af057600080fd5b610b87600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b0f565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052806000526040600020600091509050806000019080600101908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050154905086565b6000806000610c36611c4e565b600091505b6005548260ff161015610ebe57600860008360ff16815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d035780601f10610cd857610100808354040283529160200191610d03565b820191906000526020600020905b815481529060010190602001808311610ce657829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481526020016004820154815250509050846040518082805190602001908083835b602083101515610e045780518252602082019150602081019050602083039250610ddf565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191681600001516040518082805190602001908083835b602083101515610e6f5780518252602082019150602081019050602083039250610e4a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415610eb1578160ff169250610ebe565b8180600101925050610c3b565b829350505050919050565b600380600001908060010154905082565b6009602052806000526040600020600091509050806000019080600101908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040154908060050154905086565b60c0604051908101604052808681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200142815250600a6000600760008154809291906001019190505581526020019081526020016000206000820151816000019080519060200190610fed929190611cb0565b50602082015181600101908051906020019061100a929190611cb0565b5060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816004015560a082015181600501559050505050505050565b60025481565b60006110c7611c4e565b6110d087610c29565b91506008600083815260200190815260200160002060a06040519081016040529081600082018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561118a5780601f1061115f5761010080835404028352916020019161118a565b820191906000526020600020905b81548152906001019060200180831161116d57829003601f168201915b505050505081526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820154815260200160048201548152505090508060800151831115611266576113c3565b60c0604051908101604052808781526020018881526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200142815250600960006006600081548092919060010191905055815260200190815260200160002060008201518160000190805190602001906112ff929190611cb0565b50602082015181600101908051906020019061131c929190611cb0565b5060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816004015560a082015181600501559050505b50505050505050565b60055481565b60075481565b60008060006113e5611d30565b600091505b6007548260ff16101561170f57600a60008360ff16815260200190815260200160002060c06040519081016040529081600082018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114b25780601f10611487576101008083540402835291602001916114b2565b820191906000526020600020905b81548152906001019060200180831161149557829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115545780601f1061152957610100808354040283529160200191611554565b820191906000526020600020905b81548152906001019060200180831161153757829003601f168201915b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820154815250509050846040518082805190602001908083835b6020831015156116555780518252602082019150602081019050602083039250611630565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191681602001516040518082805190602001908083835b6020831015156116c0578051825260208201915060208101905060208303925061169b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415611702578160ff16925061170f565b81806001019250506113ea565b829350505050919050565b600160149054906101000a900460ff1681565b600080600061173a611d9f565b600091505b6006548260ff161015611a6457600960008360ff16815260200190815260200160002060c06040519081016040529081600082018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118075780601f106117dc57610100808354040283529160200191611807565b820191906000526020600020905b8154815290600101906020018083116117ea57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118a95780601f1061187e576101008083540402835291602001916118a9565b820191906000526020600020905b81548152906001019060200180831161188c57829003601f168201915b505050505081526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482015481526020016005820154815250509050846040518082805190602001908083835b6020831015156119aa5780518252602082019150602081019050602083039250611985565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191681602001516040518082805190602001908083835b602083101515611a1557805182526020820191506020810190506020830392506119f0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415611a57578160ff169250611a64565b818060010192505061173f565b829350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860205280600052604060002060009150905080600001908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030154908060040154905085565b60065481565b60a0604051908101604052808581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018281525060086000600560008154809291906001019190505581526020019081526020016000206000820151816000019080519060200190611ba2929190611cb0565b5060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015590505050505050565b60a060405190810160405280611c62611e0e565b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611cf157805160ff1916838001178555611d1f565b82800160010185558215611d1f579182015b82811115611d1e578251825591602001919060010190611d03565b5b509050611d2c9190611e22565b5090565b60c060405190810160405280611d44611e0e565b8152602001611d51611e0e565b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60c060405190810160405280611db3611e0e565b8152602001611dc0611e0e565b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b602060405190810160405280600081525090565b611e4491905b80821115611e40576000816000905550600101611e28565b5090565b905600a165627a7a72305820c4be21e945d3bcbba5fd5d26b2fdd21fac1ac5f951735546bd0551c9d17d47610029";

    private SOrder(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit);
    }

    private SOrder(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit);
    }

    public Future<Address> to() {
        Function function = new Function("to", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<List<Type>> rmap(Uint256 param0) {
        Function function = new Function("rmap", 
                Arrays.<Type>asList(param0), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Uint256>() {}, new TypeReference<Uint256>() {}));
        return executeCallMultipleValueReturnAsync(function);
    }

    public Future<Uint256> getCder(Utf8String _no) {
        Function function = new Function("getCder", 
                Arrays.<Type>asList(_no), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<List<Type>> info() {
        Function function = new Function("info", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Uint256>() {}));
        return executeCallMultipleValueReturnAsync(function);
    }

    public Future<List<Type>> lmap(Uint256 param0) {
        Function function = new Function("lmap", 
                Arrays.<Type>asList(param0), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Uint256>() {}, new TypeReference<Uint256>() {}));
        return executeCallMultipleValueReturnAsync(function);
    }

    public Future<TransactionReceipt> repayFun(Utf8String _cNo, Utf8String _no, Address _from, Address _to, Uint256 _fee) {
        Function function = new Function("repayFun", Arrays.<Type>asList(_cNo, _no, _from, _to, _fee), Collections.<TypeReference<?>>emptyList());
        return executeTransactionAsync(function);
    }

    public Future<Uint256> createTime() {
        Function function = new Function("createTime", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<TransactionReceipt> loadFun(Utf8String _cNo, Utf8String _no, Address _from, Address _to, Uint256 _fee) {
        Function function = new Function("loadFun", Arrays.<Type>asList(_cNo, _no, _from, _to, _fee), Collections.<TypeReference<?>>emptyList());
        return executeTransactionAsync(function);
    }

    public Future<Uint256> cmapSize() {
        Function function = new Function("cmapSize", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> rmapSize() {
        Function function = new Function("rmapSize", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> getRepay(Utf8String _no) {
        Function function = new Function("getRepay", 
                Arrays.<Type>asList(_no), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint8> state() {
        Function function = new Function("state", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint8>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Uint256> getLoan(Utf8String _no) {
        Function function = new Function("getLoan", 
                Arrays.<Type>asList(_no), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<Address> from() {
        Function function = new Function("from", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<List<Type>> cmap(Uint256 param0) {
        Function function = new Function("cmap", 
                Arrays.<Type>asList(param0), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Uint256>() {}, new TypeReference<Uint256>() {}));
        return executeCallMultipleValueReturnAsync(function);
    }

    public Future<Uint256> lmapSize() {
        Function function = new Function("lmapSize", 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
        return executeCallSingleValueReturnAsync(function);
    }

    public Future<TransactionReceipt> splitOrder(Utf8String _no, Address _from, Address _to, Uint256 _fee) {
        Function function = new Function("splitOrder", Arrays.<Type>asList(_no, _from, _to, _fee), Collections.<TypeReference<?>>emptyList());
        return executeTransactionAsync(function);
    }

    public static Future<SOrder> deploy(Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue, Utf8String _code, Uint256 _fee, Address _from, Address _to) {
        String encodedConstructor = FunctionEncoder.encodeConstructor(Arrays.<Type>asList(_code, _fee, _from, _to));
        return deployAsync(SOrder.class, web3j, credentials, gasPrice, gasLimit, BINARY, encodedConstructor, initialWeiValue);
    }

    public static Future<SOrder> deploy(Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue, Utf8String _code, Uint256 _fee, Address _from, Address _to) {
        String encodedConstructor = FunctionEncoder.encodeConstructor(Arrays.<Type>asList(_code, _fee, _from, _to));
        return deployAsync(SOrder.class, web3j, transactionManager, gasPrice, gasLimit, BINARY, encodedConstructor, initialWeiValue);
    }

    public static SOrder load(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        return new SOrder(contractAddress, web3j, credentials, gasPrice, gasLimit);
    }

    public static SOrder load(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        return new SOrder(contractAddress, web3j, transactionManager, gasPrice, gasLimit);
    }
}
